package 笔试题;

public class li_4 {
    public static void main(String[] args) {
        int[] nums1={1,3};int[] nums2={2};
        System.out.println(findMedianSortedArrays(nums1,nums2));
    }
    public static double findMedianSortedArrays(int[] nums1, int[] nums2) {
        int min1=0;
        int max1=nums1.length-1;
        int min2=0;
        int max2 =nums2.length-1;
        int max = Integer.MAX_VALUE;
        int min = 0;
        while (!(min == max || (min1 > max1 && min2 > max2))){

            if(max1>=min1&&max2>=min2){

                if(nums1[min1]>nums2[min2]){
                    min = nums2[min2++];
                }else{
                    min = nums1[min1++];
                }
            }else if(max1>=min1){
                min = nums1[min1++];
            }else{
                min = nums2[min2++];
            }

            if(min1 > max1 && min2 > max2){
                return min;
            }

            if(max1>=0&&max2>=0){
                if(nums1[max1]<nums2[max2]){
                    max = nums2[max2--];
                }else{
                    max = nums1[max1--];
                }
            }else if(max1>=0){
                max = nums1[max1--];
            }else{
                max = nums2[max2--];
            }
        }
        return (Double.valueOf(min+max))/2;
    }
}
